/* eslint-disable indent */
'use strict'

/**
 * 桌面配置表
 */

module.exports = app => {
    const { TEXT, STRING, INTEGER, DATE, JSON } = app.Sequelize

    const Desktopcfg = app.model.define('desktop_cfg', {
        id: {
            type: INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        name: {
            type: STRING,
            allowNull: false,
            comment: '配置名称'
        },
        pid: {
            type: INTEGER,
            allowNull: false,
            comment: '门店ID'
        },
        conf: {
            type: JSON,
            allowNull: true,
            comment: '配置内容'
        },
        status: {
            type: INTEGER,
            allowNull: true,
            comment: '状态',
            defaultValue: 1
        },
        isuse: {
            type: INTEGER,
            allowNull: true,
            comment: '是否是当前使用的配置',
            defaultValue: 0
        }
    })


    // 建立关联关系
    Desktopcfg.associate = async () => {
        Desktopcfg.belongsTo(app.model.Place, {
            onDelete: 'NO ACTION',
            onUpdate: 'CASCADE',
            foreignKey: 'pid', // 源模型中的外键信息
            // as: 'place', // 添加到源模型中的目标模型别名
            targetKey: 'id' // 目标模型中的关联字段
        })
    }


    return Desktopcfg
}
